package com.inei.cie.utilitarios;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.inei.cie.R;
import com.inei.cie.entidades.Car;
import com.inei.cie.entidades.Dist;
import com.inei.cie.entidades.Dpto;
import com.inei.cie.entidades.PCar;
import com.inei.cie.entidades.Prov;

public class ListadoCargaAdapter extends BaseAdapter {

	Context context;
	List<PCar> lista;
	List<Dpto> lDpto;
	List<Prov> lProv;
	List<Dist> lDist;

	public ListadoCargaAdapter(Context context, List<PCar> lista,
			List<Dpto> lDpto, List<Prov> lProv, List<Dist> lDist) {
		this.context = context;
		this.lista = lista;
		this.lDpto = lDpto;
		this.lProv = lProv;
		this.lDist = lDist;
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return lista.size();
	}

	@Override
	public Object getItem(int pos) {
		// TODO Auto-generated method stub
		return lista.get(pos);
	}

	@Override
	public long getItemId(int pos) {
		// TODO Auto-generated method stub
		return Long.parseLong(lista.get(pos).getId_local());
	}

	@Override
	public View getView(int pos, View view, ViewGroup group) {
		// TODO Auto-generated method stub
		View item = view;
		ViewHolder holder;
		if (item == null) {
			LayoutInflater inflater = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			item = inflater.inflate(R.layout.listado_local_item, null);
			holder = new ViewHolder();
			holder.tvIdLocal = (TextView) item.findViewById(R.id.tvIdLocal);
			holder.tvProvincia = (TextView) item.findViewById(R.id.tvProvincia);
			holder.tvDistrito = (TextView) item.findViewById(R.id.tvDistrito);
			item.setTag(holder);
		} else {
			holder = (ViewHolder) item.getTag();
		}
		PCar obj = lista.get(pos);
		holder.tvIdLocal.setText(obj.getId_local());

		for (Prov prov : lProv) {
			if (prov.getCod_dep() == obj.getPC_A_1_Dep()
					&& prov.getCod_prov() == obj.getPC_A_2_Prov()) {
				holder.tvProvincia.setText(prov.getNombre());
				break;
			}
		}
		for (Dist dist : lDist) {
			if (dist.getCod_dep() == obj.getPC_A_1_Dep()
					&& dist.getCod_prov() == obj.getPC_A_2_Prov()
					&& dist.getCod_dist() == obj.getPC_A_3_Dist()) {
				holder.tvDistrito.setText(dist.getNombre());
				break;
			}
		}
		return item;
	}

	class ViewHolder {
		TextView tvIdLocal;
		TextView tvDistrito;
		TextView tvProvincia;
	}
}
